#include"SeqList.h"

void  TestSeqList1()
{
    SL sl;
    SeqListInit(&sl);//传址调用
    SLPushBack(&sl, 1);
    SLPushBack(&sl, 2);
    SLPushBack(&sl, 3);
    SLPushBack(&sl, 4);
    SLPushBack(&sl, 5);
    SLPushBack(&sl, 6);
    SLprintf(&sl);
    SLPushBack(&sl, 7);
    SLPushBack(&sl, 8);
    SLPushBack(&sl, 9);
    SLprintf(&sl);
}
void  TestSeqList2()
{
    SL sl;
    SeqListInit(&sl);
    SLPushFront(&sl, 1);
    SLprintf(&sl);
    SLPushBack(&sl, 2);
    SLPushBack(&sl, 3);
    SLPushBack(&sl, 4);
    SLPushBack(&sl, 5);
    SLprintf(&sl);
    SLPushFront(&sl, 6);
    SLPushFront(&sl, 7);
    SLprintf(&sl);
}
void  TestSeqList3()
{
    SL sl;
    SeqListInit(&sl);
    SLPushBack(&sl, 1);
    SLPushBack(&sl, 2);
    SLPushBack(&sl, 3);
    SLPushBack(&sl, 4);
    SLPushBack(&sl, 5);
    SLprintf(&sl);
    SLPopBack(&sl);
    SLPopBack(&sl);
    SLPopBack(&sl);
    SLPopBack(&sl);
    SLPopBack(&sl);
    //SLPopBack(&sl);
    SLprintf(&sl);
    SLPushBack(&sl, 1);
    SLPushBack(&sl, 2);
    SLPushBack(&sl, 3);
    SLprintf(&sl);
    SLDestory(&sl);
    printf("%p %d %d\n", sl.a, sl.size, sl.capacity);
    
}
void  TestSeqList4()
{
    SL sl;
    SeqListInit(&sl);
    SLPushBack(&sl, 1);
    SLPushBack(&sl, 2);
    SLPushBack(&sl, 3);
    SLprintf(&sl);
    SLPopFront(&sl);
    SLPopFront(&sl);
    SLPopFront(&sl);
    SLPopFront(&sl);
    SLprintf(&sl);
}
void  TestSeqList5()
{

    SL sl;
    SeqListInit(&sl);
    SLPushBack(&sl, 1);
    SLPushBack(&sl, 2);
    SLPushBack(&sl, 3);
    SLPushBack(&sl, 4);
    SLPushBack(&sl, 5);
    SLPushBack(&sl, 6);
    SLprintf(&sl);
    SLInsert(&sl, 0, 23);
    SLprintf(&sl);
    SLInsert(&sl, 2, 66);
    SLprintf(&sl);
    SLInsert(&sl, 8, 88);
    SLprintf(&sl);
}
void  TestSeqList6()
{

    SL sl;
    SeqListInit(&sl);
    SLPushBack(&sl, 1);
    SLprintf(&sl);
    SLPushFront(&sl, 2);
    SLPushFront(&sl, 3);
    SLprintf(&sl);
    SLPushBack(&sl, 6);
    SLprintf(&sl);
    SLPopBack(&sl);
    SLprintf(&sl);
    SLPopFront(&sl);
    SLprintf(&sl);
    




   // SLprintf(&sl);
   // SLErase(&sl, 0);
   // SLprintf(&sl);
   // SLErase(&sl, 2);
   // SLprintf(&sl);
   // SLErase(&sl, 2);
   // SLprintf(&sl);
}
void TestSeqList7()
{
    SL sl;
    SeqListInit(&sl);
    SLPushBack(&sl, 1);
    SLPushBack(&sl, 2);
    SLPushBack(&sl, 3);
    SLPushBack(&sl, 3);
    SLPushBack(&sl, 5);
    int pos = SLFind(&sl, 3);
   // if(pos != -1)
   // {
   // //    SLErase(&sl,pos);
   //     //SLInsert(&sl, pos, 66);
   //     SLModify(&sl, pos, 888);
   //      SLprintf(&sl);
   // } 
   // else{
   //     printf("没找到\n");
   // }
    while(pos != -1)
    {
        SLErase(&sl,pos);
        pos = SLFind(&sl,3);
    }
    SLprintf(&sl);


}
int main()
{
    TestSeqList7();
    return 0;
}
